Document printed with graphical symbols which encode information

ABSTRACT

A document is printed with graphical symbols which encode information but are not human readable; the graphical symbols are formed into some or all of visible element printed on the document. The outline of this element is used for synchronising an automated process for scanning the document to extract the encoded information from the element. In prior art systems, synchronising an automated process for scanning the document to extract the encoded information from the element requires large scale arrangement of the graphical symbols (e.g. a horizontal line of glyphs which are all forward facing and which intersect a vertical line of glyphs which are all rearward facing). This considerably mars the appearance of a printed document. This negative impact on appearance has been one of the major causes inhibiting the uptake of graphical symbol technology for encoding information.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the priority of PCT Application No.PCT/GB02/00544 filed on Feb. 8, 2002, and British applications GB0103153.3 filed on 9 Feb. 2001, GB 0103155.8 filed on 9 Feb. 2001, GB0105241.4 filed on 2 Mar. 2001, GB 0110247.4 filed on 26 Apr. 2001, andGB 0119908.2 filed on 15 Aug. 2001, the contents of which are herebyincorporated by reference.

BACKGROUND TO THE INVENTION

1. Field of the Invention

This invention relates to a document printed with graphical symbolswhich encode information. The encoded information is not human readable,but is visible, in the same way that a bar code is visible but not humanreadable. The term ‘graphical symbol’ means any visible mark whichencodes information; it therefore includes glyphs, 2D bar codes andother forms of graphical indicia.

2. Description of the Prior Art

There are many security documents which are communicated between variousagencies where the integrity of the documents is a major issue. A primeexample is the use of cheques for financial transactions, billions ofwhich are passed between clients and banks and where the risk of fraudis an ever present threat

Security documents have historically been protected by a considerablerange of devices. The actual materials from which they are made aredifficult for an outsider to obtain or reproduce. There are devices suchas holograms or metallic stripes which are intended to provide visualconfirmation of integrity. There are machine readable magnetic stripesand, more recently, chips, that can contain information which guaranteesauthenticity. There is a range of special ink types, some, for instance,with special reflective properties which confuse scanners and makeduplication difficult for counterfeiters.

Security documents can be divided into (a) those, such as currency,where the production of counterfeits is the main issue and wheresecurity against simple methods of reproduction is required, and (b)those such as cheques where the information contained in the document isthe prime consideration. This latter group is the subject of thisinvention.

There is a need to handle many of these documents automatically usinghigh speed printers and sorters. For this purpose the use of machinereadable symbols is crucial. In these circumstances a solution that doesnot require special materials, or interruption to the workflow, is therequirement.

One system of machine readability from printed documents is the OCR(Optical Character Recognition) system, and this can achieve a highdegree of accuracy from standard fonts but tends to fall well short ofpractical thresholds for handwritten script. A well establishedalternative solution is the printing of machine readable indicia orother kinds of graphical symbols with fixed formats using the standardprinting process.

One method for adding data to printed documents is the use of graphicalsymbols called ‘glyphs’ (see U.S. Pat. Nos. 5,091,966 and 5,245,165).Glyphs are characters made up from four or five pixels of printed datawhich give a uniform greyish appearance and would typically be spread ina rectangle across the top of some secure document. This data can beread by scanning and running through an appropriate software program.Glyphs do not vary significantly in appearance across a printeddocument. They are typically small forward and backward slashes. Glyphsare also always located against a fixed, rectilinear grid. Standardisingthe shape of glyphs and placing them along a predefined rectilinear gridhas been thought necessary for rapid and accurate machine scanning andrecognition.

A further method for adding data is the use of 2D bar codes,particularly those in the PDF417 format. These bar codes use a fixed setof symbols and are very robust under such transformations as compressionand photocopying.

2D bar codes and glyphs can provide authentication by two main methods.One method is to link the data in the machine embedded form with datathat is contained in some other form in the document This other formcould be ordinary readable script, or it could be in stylised form as inthe MICR (magnetic ink character recognition) line on a cheque. A methodis described in Payformance Corporation patent, U.S. Pat. No. 6,170,744where a one way hash of visually readable information is embedded in a2D Bar Code. An alternative form of authentication is provided if theembedded data is compared with information held in a database which isindexed by data on the document

One important characteristic of encoding with graphical symbols is thatthe presence of the carrier of information is wholly overt or clearlyapparent. Hence, the glyphs and 2D bar codes are clearly visible,although the information which is encoded in them would need decoding.The visibility of the information carrier is in marked contrast tostegonographic watermarking systems, in which the information carrier isspecifically designed not to be readily perceptible; the primaryobjective of such watermarking schemes is to conceal both theinformation carrier as well as the information itself. The presentinvention does not relate to steganographic watermarking systems at all,but instead to systems in which the information carrier is readilyperceptible.

As a practical matter, it should be noted that the use of asteganographic watermark to embed information with low visual impact insecurity documents is not a realistic option. This is becausesteganographic watermarks typically have a much lower information rateand are difficult to construct in suitable fashion using only thetypical laser printer that is available at the time information isembedded into a security document such as a cheque.

There is one major disadvantage with current systems where theinformation carrier is a pattern of clearly visible graphical symbolsfeature (i.e. glyphs and 2D bar codes). It is that the feature may spoilthe appearance of the document. For many situations, particularlycheques, anything which significantly detracts from the overallappearance of the document is commercially very unattractive. But, priorto the present invention, there has been no alternative to unsightly,conventional glyphs and 2D bar codes.

SUMMARY OF THE INVENTION

In a first aspect of the invention, there is a document printed withgraphical symbols which encode information but are not human readable,and which are formed into some or all of a visible element printed onthe document, wherein the outline of the element is used forsynchronising an automated process for scanning the document to extractthe encoded information from the element.

In prior art systems, synchronising an automated process for scanningthe document to extract the encoded information from the elementrequires large scale arrangement of the graphical symbols (e.g. ahorizontal line of glyphs which are all forward facing and whichintersect a vertical line of glyphs which are all rearward facing). Thisconsiderably mars the appearance of a printed document. This negativeimpact on appearance has been one of the major causes inhibiting theuptake of graphical symbol technology for encoding information. Highlyregular and therefore visible arrangements of graphical symbols are notneeded in the present invention since synchronisation relies onrecognition of the element outline.

Further aspects and details of the invention are contained in the Claimsof this specification.

The presence of the graphical symbols is largely disguised because theyform the internal structure of an element, which itself blends into theoverall appearance of the document, unlike prior art glyphs or 2D barcodes, which stand out. Within the element itself, fine structure—(i.e.the individual graphical symbols) is present (although it may bedifficult to see clearly); this fine structure carries the informationpayload.

The invention can be thought of as distributing visually apparent finestructure in an aesthetic manner. Because there is no need to make thefine structure totally imperceptible (unlike steganographic watermarkingsystems), this structure can carry a far higher information payload in arobust manner; this is a critical advantage where the documents need tobe printed at high speed using conventional printers (e.g. high speedlaser printers) and also scanned at high speed with relativelyunsophisticated equipment, as might be found at a retail store orordinary retail bank branch.

Hence, the invention combines the advantages of a robust informationpayload (available in conventional 2D bar codes and glyphs, but at thecost of an unattractive and intrusive graphical elements) with theadvantages of an overall aesthetic design (available in steganographicwatermarking, but at the cost of limited payload and limitedrobustness).

In an implementation called Bitmorph™ Seal Encoding™ from EnSeal SystemsLimited of the United Kingdom, the graphical symbols are called‘Bitmorphs’. Bitmorphs have the following unique properties whichdistinguish them over conventional glyphs and other forms of graphicalsymbol:

-   -   Bitmorphs are assembled into a decorative element, such as a        picture, seal or signature.    -   Bitmoprhs can easily be made to blend into a decorative element        because their shape can be altered (e.g. stretched, pulled out,        twisted etc.) to fit around contours of the decorative elements.        Hence, the curving border of a picture can use curving        Bitmorphs. Bitmorph size and shape is automatically calculated        to optimally fill a seal (sized to give maximum density        consistent with adequate recognition properties; shaped to be as        consistent with aesthetics as possible to blend in as        effectively as possible).    -   Bitmoprhs can easily be made to blend into a decorative element        because they are ‘polymorphic’ in that, for each bit or        character which needs to be encoded, there are several possible        Bitmorphs which could be selected and printed. Hence, light        areas of a picture can use Bitmorphs with a relatively low        density of pixels; heavy areas can use higher density Bitmorphs.        An automatic process can select the optimal Bitmorph for a given        region of a picture to be printed on a document by analysing an        original of that picture and using Bitmorphs with the most        appropriate appearance (e.g. pixel density; pixel        arrangement—Bitmorphs with strong horizontal pixel arrangements        where that fits in with the hatching scheme used in a picture        etc.).    -   The above approaches lead to the maximum information density of        the encoded information; further, it is compatible with the        system being used, in particular with the resolution and the        quality of the printers and scanners which are part of typical        document transaction systems (e.g. high speed cheque printers        and scanners; product labelling printers).    -   Bitmorphs themselves do not need to be individually recognised        to initially register a scanning process accurately; instead        registration or synchronisation is performed against the outline        of the element which is formed from the collection of Bitmorphs.        This is fast and robust.

With Bitmorphs, the information encoding process is controlled by a keywhich is unique to a user or group of users. The information is readableboth when the seal is in electronic form and when it has been scannedfrom a printed version of the document.

The purpose of the encoding is typically to allow self-authentication ofdocuments, particularly those such as cheques which involve financialtransactions. The high information density possible with Bitmorphsallows small seals to be effective; it can therefore be used for stamplabels, such as postal stamps and electronic stamp labels (i.e. stampswhich are not bought from a conventional Post Office, but are printed bya user from a PC) and other documents, such as IDs and passports, whichalso need rapid authentication. With many of these kinds of documents,only a relatively small proportion of the document area can be used forthis kind of seal (e.g. less than 20%); the ICAO for example mandates avery limited region for authentication seals on passports.

The encoded information will generally relate to information printedelsewhere on the document which is human readable or ‘overt (i.e. nothidden) and the authentication process consists of scanning thedocument, decoding the encoded information and comparing it with thehuman readable, overt printed information. For example, the name of thecheque payee is normally printed onto a cheque (assuming the chequecomes from a company or government body). With the present invention,that name is also encoded into a visually attractive element or patternwhich forms a relatively small part of the cheque; it could be asignature, company logo, picture, word, trade mark, or seal.

The present invention is useful in ‘positive pay’ services; a positivepay service is where a banking customer sends to its bank the chequenumbers, payee and amount information for all cheques which it hasissued; the bank then compares this data against all cheques actuallypresented and only makes a payment if it finds a match. The presentinvention can be employed at companies issuing cheques since it can bereadily added into existing systems since (i) the computational load islight and hence can be handled without slowing down rapid, chequeprinting systems and (ii) it needs only conventional laser printing(under suitable software control). Further, reading and authenticationis also rapid and efficient with low computational load, again making iteasy to integrate into existing banking authentication systems.

To recap, there are two important aspects to the Bitmorph implementationof the invention which differ from prior art solutions. The first (asnoted above) is that the information to be encoded is placed into afeature that would ordinarily be present in a document such as a logo, asignature or an attractive picture etc. If no such feature is includedin the design of the document then a feature compatible with thedocument's appearance, rather than a crudely apparent imposed securityfeature (e.g. a large block of unsightly conventional glyphs), is addedto the document as a carrier of the information in a manner that willnot adversely effect the aesthetic appearance.

Secondly, because graphical symbols have a variable size and shape andare polymorphic (i.e. there are several forms of graphical symbol codingfor the same bit value or character), the information can be added atthe maximum density and in a manner that is compatible with the systembeing used, in particular with the resolution and the quality of theprinters and scanners which are part of the transaction system (i.e. thesystem for printing the documents and scanning them for authenticationpurposes). This contrasts with bar codes where the density is governedby the fixed characters and the frames that delineate the extent of thecoding. The consequence is that the area occupied by the information iskept to a minimum or alternatively the amount of encoded data can beincreased.

The high density of information necessitates a specially constructederror coding method as described below.

An implementation of the invention includes a system of authenticationwhich is particularly, but not exclusively, usable in the case where theinvention is used to authenticate bank cheques. The implementationincludes a method of encrypting data and adding it to the seal, but onaccount of the high density, the whole of the information on the chequemay be embedded, allowing retrieval if some of the human readableinformation is corrupted. This contrasts with, for instance, U.S. Pat.No. 6,170,744 where a hashed version of the data is embedded;inevitably, this is just a small part of the available data.

A further implementation for high value documents (e.g. commercialagreements) comprises the addition of a seal, probably in the form of acompany logo or similar item, into which is encoded selectedinformation. Typically a document may consist of a standard text intowhich is added information related to a particular transaction, and itis this latter data that would be protected by the Bitmorph SealEncoding'.

The high density of the encoded data in an implementation make it lesseasy to reproduce by standard copying and printing methods than aconventional bar code or glyph pattern. This is partly because thelatter have fixed character sets to enable partially retrievedcharacters to be relatively easily restored: there are no fixedcharacter sets in this implementation—a ‘1’ can be represented in manydifferent ways, as can a ‘0’. A further benefit of the present inventionis that the error correction may provide a measure of the degradation ofthe original pattern from its electronic form. This provides anindication of the occurrence of counterfeiting because any reproductionof a cheque, however skilful, will tend to produce lower qualityinformation.

As noted above, the pattern which is the heart of this invention can bemade up of small units of information in a similar manner to that inwhich images are formed by dots in the standard printing process. Thechoice of information units allows the production of different visualeffects whilst conveying the same information. The pattern may besuperimposed on backgrounds of various colours thus allowing the designof the document to be minimally affected.

An important aspect of seal encoding is that it may be implementedcheaply with minimal impact on operational parameters. For many securityapplications, a significant factor in assessment of effectiveness is therate of adoption by relevant agencies and a low impact, simple schememay be more effective than a high security scheme with little take up.Bitmorph Seal Encoding offers the prospect of a simple scheme with arange of levels of security.

One implementation concerns documents such as certificates whereaesthetic considerations are important and where significant informationis contained. The requirement is to protect against falsification ratherthan copying and to have a convenient machine readable method ofauthentication. Included in this are insurance certificates, contracts,professional qualification certificates. The vital variable data onthese certificates would be encoded in a seal which could match thestyle of the document In some countries personal documentation includesnot only birth details but details of subsequent life events. Thesedocuments are prone to falsification and could be protected by a seal.

The seal encoding software would be supplied as a utility which can beattached as a “plugin” to word processing systems such as thoseproducing “Word” or “pdf” documents. Typically, a word document, forinstance, would have a fixed template for a certificate. To this wouldbe added the variable data which describes the particular transaction.This data would be encoded in a seal which would become part of the Worddocument.

If such a seal were to be added to vehicle documentation it would enablepolice with hand held scanners to verify that no falsification of datahad occurred.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be described with reference to theaccompanying drawings, in which:

FIG. 1 is an image of a cheque document in accordance with the presentinvention, in which a symbol carries encoded information;

FIG. 2 is a magnified part of that signature, showing the array of blackand white pixels (Bitmorphs) which encode information

FIG. 3 is a magnified image of a corporate logo, in which the backgroundcarries information encoded as Bitmorphs;

FIGS. 4 and 5A and 5B schematically illustrate how information isencoded into a template or seal;

FIG. 6 schematically illustrates the process of writing encodedinformation;

FIG. 7 schematically illustrates the process of reading encodedinformation at a bank;

FIG. 8 schematically illustrates the process of reading encodedinformation at a location remote from a bank;

FIG. 9 schematically illustrates the process of Bitmorph Seal Encoding.

DETAILED DESCRIPTION OF THE PREFERRED IMPLEMENTATION

A description of the preferred implementation is given below. Thisimplementation is called Bitmorph™ Seal Encoding™ from EnSeal SystemsLimited of the United Kingdom. Bitmorph Seal Encoding provides a newmethod of embedding information into a seal or logo in contexts whereneither a 2D bar code nor a digital watermark provide the requiredcharacteristics.

Bitmorph Seal Encoding provides a means of embedding a large amount ofinformation into a compact symbol where the appearance of a conventional2D bar code is unacceptable. The 2D bar code requirement for a set ofpredetermined characters (e.g. the industry-standard pdf417 bar code) isreplaced by any form of printed logo, picture, seal, word etc. in whichindividual pixels are subtly varied according to the key used forencoding and the data to be encoded.

In essence, the Seal Encoding method comprises a process of scramblingthe information to be added, followed by aggregation of the scrambledinformation into an element or template of the required form. The sameinformation will appear in different forms within the image so thatdistortions due to the printing and scanning process may be taken intoaccount in a calculated manner as opposed to simply taking somestatistical average. The security of the method lies in the scramblingprocess which depends upon a key and upon the template. The key can bepart of the data which is included in the document concerned or it canbe part of a key management system such as PKI (Public KeyInfrastructure). The template is required both for adding and extractingthe information. The main way the key is actually utilised is bycontrolling the generation of the permutation and the generation of therandom sequence used in the formatting of the data. As such it embodiesthe security of the operation.

Unlike digital watermarking, Seal Encoding does not rely on an imagethat is modified lightly to contain information but rather theinformation is assembled, at far higher density, to form the printedimage. This method can be compared to print screening processes wherebydots are used in large numbers to build up a ‘contone’ image, but wherethe actual dot shape is to some degree arbitrary.

A major issue with all information embedding techniques is therobustness of the process. Information may in some instances be requiredto survive compression in addition to the printing and scanning process.In this respect, Seal Encoding embodies characteristics that lie betweendigital watermarking and 2D bar codes. Seal Encoding is far more robustthan digital watermarks, which rely on correlation or other statisticalprocesses to effect retrieval. Instead the encoded data is read directlyfrom the seal with error correction included to prevent ‘falsepositives’. Conversely, Seal Encoding is less robust than 2D bar codesbecause the characteristics of the seal are not part of a universal setof predefined codes. Consequently, after some degradation from, forexample, photocopying, the data is less easily reconstituted withoutknowledge of the key than is the case with bar codes which use a knowncharacter set. With a 2D bar code, no knowledge is required of theencryption method to reconstruct dubious areas since the character setis fixed. The robustness of Seal Encoding can, however, be adjusted sothat information will tend to be destroyed by illegal photocopying butwill be retrievable in normal operating conditions.

The encoding process has several stages. The first process is to selecta suitable design of seal—i.e. the element to be made up of largenumbers of individual Bitmorphs. For implementations where maximuminformation density is required, the next process will be calibration ofrelevant hardware. Then, the system looks at the space available in theseal and works out the optimal arrangement of internal cells within thespace. Each cell is effectively a blank Bitmorph—i.e. a group of pixelsof potentially variable size, shape and appearance. The actual data tobe encoded then passes through several phases. Firstly the data isconverted into suitable arithmetic form, commonly a binary string. Errorcorrection is added to overcome the known degradations brought about bythe processing. Encryption using PKI methods may be introduced toprovide security, a variety of possible scenarios for encryption canappear in different embodiments. The system records both the externalborder of the seal and the internal cell positions. It then creates theBitmorph seal by printing the seal onto the document A detector isprovided with the external border information and the internal cellstructure; it uses the external border information for registration,often termed synchronisation—the process of lining up the seal borderoutline stored in memory against the image to be tested untilcorrelation indicate s alignment Once aligned, the detector, using itsknowledge of the cell positions, reads the values of each Bitmorph inthe seal. The details of these stages are given below.

Choice of Seal

A pattern such as a signature, picture, word or seal is selected toprovide a template into which the information is to be encoded. In manyinstances, the pattern is one that had already been designed as part ofthe document. To avoid repetition, the term ‘seal’ will generally beused in the coming sections. The seal, in fact, is merely a silhouettedesignating an area to be used to contain information and as such is tobe compared with the bounding lines of a bar code. In FIG. 1, the sealis the initials at 1. A portion of these initials is shown magnified inFIG. 2; the fine structure of Bitmorphs which carry the informationpayload is clearly visible in the magnified image, although it is barelyperceptible in normal size. FIG. 3 shows a corporate logo for EnSeal,with the background showing individual Bitmorphs. The size of Bitmorphsin FIG. 3 has been increased beyond the normal to allow the finestructure to be seen more easily.

The encoding process replaces each pixel of the area within the seal bya colour selected from a palette of two or more, the colours dependingupon the inks available at the relevant stage of the printing process.In the case of bank cheques, a black and white laser printer is normallyavailable and so the pixels may simply be black or white or may containa grey level generated by the standard screening process.

Documents using any selection of ink colours are possible, as are shadesof intermediate colours generated by screening, but for ease ofretrievability the range of colour must be carefully controlled.

The seal may be placed on a blank background, but there is no difficultyif it is added to a preprinted document, as for instance a cheque, wherethere may be an underlying pattern which is visible between the lines ofthe seal. Such backgrounds may be beneficial in making the seal moredifficult to copy.

Implementations of the invention described here assume that the seal canbe described by a binary array with the binary characters selecting oneof two possible colours. It is a simple extension to the use of morelevels of colour, using 4 levels of grey or other selected colour, forinstance, instead of black and white only.

Encoding and Decoding Using the Template

The diagram at FIG. 4 indicates the processes. The original template isa silhouette in black and white. Rules for subdivision into cells areadopted. In this case, cells are rectangles with fixed height of 3pixels, minimum width of two pixels and maximum width of five pixels. Acell contains an individual Bitmorph. The resulting subdivision of thetemplate into 5 cells is shown in (b). There are remaining black edgepixels which are not encoded.

In this example, the digit ‘1’ is represented by a Bitmorph with avertical stripe and the digit ‘0’ by a Bitmorph with a horizontalstripe. The figure at (c) shows how the Bitmorphs are added to the cellsto represent the code 10010. This is summarised in the following table:

Bitmap Cell dimensions Stripe imposed on cell Bit value B1 3 × 2Vertical 1 B2 3 × 3 Horizontal 0 B3 3 × 5 Horizontal 0 B4 3 × 3 Vertical1 B5 3 × 4 Horizontal 0

The information that is sent to the decoder is in different form to thatin the encoder to prevent the simple reverse engineering of the templatewriting. The decoder is provided with the map of the encoding cells. Itis also provided with the number of pixels in each row and column of thetemplate. Although not a unique description of the template it issufficient to enable the synchronisation of the scanned template. Thescanned template may need to be rotated or rescaled to fit the original.The process is partly one of trial and error to achieve the bestcorrelation with the row and column numbers.

The cells can then be identified by the decoder and the Bitmorphsanalysed to see whether they correlate best with the horizontal orvertical stripes.

Calibration of Printers and Scanners

Encoded seals are generally used in closed systems with a known range ofhardware and since they are designed to have high information density itis important to know the characteristics of the apparatus available.

Calibration of printers is carried out by printing from electronic filescontaining known features which test the ability of printers to functionaccurately. In particular very fine lines and grids test the ‘dot gain’in a printing process, that is, the extent to which ink spreads beyondthe intended boundary, this depending also on the type of paper on whichthe printing takes place. Thus a chequer board of sharp black and whitesquares will become a less sharp combination of black and grey. Thereare mathematical models for dot gain which will allow print drivers tocorrect for ink spread and so the type of driver used will be part ofthe limitation on accuracy.

Calibration will also be dependent upon the way in which data isscreened and rasterised before being finally printed. In particular theuse of customised fonts as a means of efficiently producing requiredpatterns requires its own detailed study for calibration purposes.

By measuring the output of printers at different resolutions andmeasuring how many effective different grey levels are achievable it ispossible to calculate the resolution at which the highest informationdensity can be output by a printer.

Calibration of scanners is carried out by scanning prepared documentswith similar features to those mentioned above. If scanning resolutionis low, black and white features become blurred and information is lostSimilarly if there are irregularities, in the lead screw of a flat bedscanner, for instance, a level of randomness is introduced into theresults which restricts the detected information.

In the particular case of high speed scanners used in the sorting ofbank cheques there may be built in functions which attempt to fill inany gaps in scans which the software supposes to be accidental.Calibration has to recognise these characteristics and Seal Encoding hasto be adapted to cope with the effects. There may be considerabledegradation of scanned data through the use of compression techniques orthe use of black and white rather than contone data.

As a result of such calibrations, a function can be determined whichshows the relationship between resolution, screening process andinformation density. From this the optimal resolution for a given systemcan be determined and this information assists in designing theembedding process for the pattern.

A refinement of the process of reading characters may be achieved byusing calibration cheques, or calibration documents depending uponcontext. A set of calibrating cheques may be encoded using the selectedgraphical symbols representing a known data string. The cheques willthen be printed and scanned in the environment in which the cheques willbe handled. Now although the original electronic form of the code willbe sharp and clear, the form that emerges from the scanning process mayhave considerable distortion and general degradation. Supposing, forinstance, there are two types of character, type A and type B, whichneed to be distinguished for decoding purposes. After the printing andscanning processes the shapes may well be very different from theoriginals and may need to be the subject of careful analysis in order todecide which type is present Typically a calculation of the correlationtype is carried out to produce a differentiation index. As an examplethe index may be calculated to give values between 0 and 100 and it maybe that if the index is less than 50 the character should be classifiedas type A, and if greater than 50 as type B.

In practice there may well be several characters of type A than give anindex greater than 50 or characters of type B that give an index lessthan 50. The calibration process works by examining the distribution ofindex values corresponding to the characters that are known to be oftype A, and similarly for type B. The result will be two curves whichshould be roughly Gaussian with the maximum for type A characters withan index less than 50 and the maximum for type B characters greater than50. The errors in recognising characters are where the two curvesoverlap. The first part of the calibration is simply to find a thresholdfor the index which produces the fewest incorrect characters, i.e toincrease or decrease the theoretical threshold according to theempirical values.

The calibration can become more sophisticated if it takes into accountthe different possible configurations. For instance, it may be that whena type A character has a type B character immediately above it and oneimmediately to the left that there is a degree of distortion caused bythe spread of ink or by software infilling by the scanner. Theseconfigurations can be analysed by the calibration software and newthresholds calculated. The thresholds can be calculated forconfigurations that include the effect of being at the edge of atemplate, or cases where graphical symbols have been modified toaccommodate features in the template. The calibration can thus overcometo a large degree the shortcomings of the printing and scanning process.Careful choice of the index is also a vital consideration.

Preparation of Data for Encoding

The first stage of data preparation is to take the data to be encodedand reduce it to a set of characters from a known alphabet, or to abinary string in the case where encryption is to be used. In this form,error correction techniques can be applied. The advantage of workingwith characters is that corruption of individual characters cansometimes be countered with the use of additional information fromoptical character recognition or the like.

Error Correction

Bitmorph seals operate at the greatest resolution that can be achievedby printers and scanners in the particular context where they areimplemented. One advantage for this is that it is much more difficult tomake a copy that will have precisely the same characteristics as theoriginal. It is also possible to devise sensitive measures of the degreeto which the original information might have been degraded.

A consequence of this form of encoding is the need for a sophisticatedinformation retrieval methodology including an error correction methodadapted for the particular context.

The basic situation is that a binary string is encoded into a documentin such a way that a ‘1’ and a ‘0’ are each represented by a differentcolour, shade or arrangement of pixels. Thus a ‘1’ may be represented bya black pixel and a ‘0’ by a grey pixel. These pixels are printed on thedocument within a template to constitute the seal.

There are three particular types of error that occur when attempting toretrieve the binary string from a document that has been scanned. Theseare:

-   -   (i) The location and orientation of the seal are affected by the        printing and scanning process. The printing process may cause        distortion of the paper, particularly if an absorbent rather        than a coated paper is used. A scanner, particularly if it is a        cheap flatbed scanner, may have a slightly distorted aspect        ratio and irregularities in the direction of travel of the        scanning carriage. High speed scanners often produce a small        rotation in imaging due to the rapid motion of the document        being scanned.    -   (ii) The pixels may suffer from ‘dot gain,’ i.e. the tendency of        ink to spread, and thus the actual values of grey, for instance,        will vary according to the number of black surrounding pixels.        Similarly the CCD's in a scanner tend to produce an elision of        pixels with their neighbours. The scanner characteristics        referred to above may have severe effects on particular types of        pattern.    -   (iii) There may be localised or generalised degradation to the        seal by any spots of dirt or coffee stains or such that might        arise from normal casual usage.

The first two types of error are dealt with later but to overcome thethird type requires modification of the input data as described in thenext section.

Addition for Error Correcting Terms

The problems of localised degradation are dealt with by an adaptation ofthe highly developed theory of error correction.

The basis of error correction theory is the idea that n bit codes forman n-dimensional space where a distance between any two codes can bedefined. A standard method of describing the distance is the ‘HammingDistance’(HD) and this simply counts up, for any pair of n bit codes,the number of positions in which the bits differ. Thus 11110000 and01110001 would have a Hamming distance of 2 because they differ in theirfirst and last positions.

To be able to correct a received code a set of codes is produced whereno two codes have a mutual HD of less than a selected amount, e.g. 3.Thus if a code is received with a single error it is possible toallocate it to the nearest acceptable code.

The correction scheme which is used as part of this invention generatesa set of codes with a given minimum distance as described above. Inorder to minimise the number of bits the codes are not necessarilylinear. This affects the ease with which decoding takes place but in theimplementations considered here the data is split into small codes wherecomplexity of retrieval will not be an issue.

Where the input information is in the form of characters, the correctioncodes are chosen to give maximum efficiency for the particular alphabetthey are required to represent, and this is often important where it isnecessary to retrieve individual symbols rather than concatenate a wholemessage. Thus if it is required to encode an alphabet of upper caseletters together with the digits 36 symbols would be required. It ispossible to produce 48 codes with minimum Hamming Distance of 6 usingonly 14 bit codes. A further refinement is achieved by using a ‘softdecision’ method of decoding. Whereas a ‘hard decision’ method involvesthe attribution of the values ‘1’ or ‘0’ to the quanta of informationobtained from a scan, the ‘soft decision’ method attributes one of arange of values according to the scan data. At its simplest a scan of apixel might give a value between 0 and 255 depending upon whether it waswhite, grey or black. If, however, a group of pixels were to represent acharacter chosen from a range of possible characters a value might beattributed to the character which represented the extent to which itbest fitted one of a known alphabet of characters.

An important implementation of the invention is in contexts where thedata on the seal is corroborated by other forms of data on the document.An example of this is the case of cheques where data may appear as textThe text becomes machine readable by the use of OCR software. Nowcertain letters such as O's and Q's or E's and F's are quite frequentlyconfused in cases where scan quality is low. In these cases acombination of the seal and the OCR may be required to determine theintended character. To aid this process the codes which are chosen torepresent letters which are visually close will be those with largemutual Hamming distances. In this way an error in the one machinereading process is unlikely to be duplicated in the other process.

A second adaptation is that the codes are permuted before being appliedto the document so that if any ‘burst errors’ occur then they will bedistributed sparsely among a group of codes and hence will becorrectable by minimising the Hamming distance. In the context of adocument the burst errors will be where there is, for instance, an areathat is darkened by some external means. The result will be that thebits which make up a single character will be scattered throughout theseal so that areas of degraded quality can be compensated by areas ofgood quality.

The correction scheme which is used as part of this implementationgenerates a set of codes with a given minimum distance as describedabove. In conventional error correction schemes the codes are ‘linear,’which means that if two codes are combined in a particular way then afurther code having the required properties will be formed. The purposeof this is to simplify decoding when large sized samples are beinghandled, otherwise a very time consuming search would have to takeplace.

In many implementations using the present invention, the codes will besmall enough to enable a thorough search to locate the most likely valuewithout being concerned about the time penalties.

If non-linear codes are permitted there is a greater freedom of choicefor the same minimum Hamming distance between members of the set ofacceptable codes. It is also more easily possible to tailor the codes tofit the number of characters being encoded. This will result in codesrequiring fewer bits for a given minimum Hamming distance. The overalleffect is to use a minimum number of encoded bits yet still be able tocorrect a large number of contingent errors. Where the input informationis in the form of characters the correction codes are chosen to givemaximum efficiency for the particular alphabet they are required torepresent

Formatting of Data

The data, having been prepared with the error correction included, maybe in a suitable mathematical form but may well also have very unevendistributions of ‘1’s' and ‘0’s' which present problems in the printingand scanning process and have an unacceptable appearance.

To overcome this problem the data is randomised by some means. In oneimplementation the binary string is divided into lengths of a chosenfixed size, perhaps, but not necessarily, 8 bits long so that eachstring represents a character. A random number generator is used togenerate an array of random 0's and 1's. This string is XOR'd with thecharacter string to produce a further encoding.

The data that has been prepared will, in many implementations, beexpressed in fewer pixels than are available in the seal. For thisreason the data is repeated as many times as is necessary to fill theseal. This helps with the correction of errors of the first and secondtype enumerated above as indicated in the section on detection below.

Character Encoding

Having calculated a binary string using error correction methods andrandom adjustment it is necessary to decide on the actual physical formsthat will be used to represent the values ‘1’ and ‘0.’ At its simplest,for instance, a single pixel might represent the values using black orwhite in the normal fashion.

At the next stage of complexity, a group of pixels may represent a ‘1’or ‘0’, or may represent a binary string. The nature of this group ischosen to reflect the calibration characteristics of the printers andscanners. The distinction between this selection of codes and theprevious selection of codes for error correction is that we are heredealing with the physical way in which the data is added to the paper ina very localised fashion.

In one implementation, the binary string is divided into lengths of achosen fixed size. Thus the strings may be 8 bits in length, giving 256possible characters. These 256 characters are then replaced by analphabet of information units. These units can be selected to have therequired error correction level in terms of their visual distinctness,and required visual qualities in a general aesthetic sense.

By way of example, in a black and white image, if the information unitsare chosen to contain 12 bits it might be decided that to achieve therequired visual intensity there should always be 4 black and 8 whitebits. These could be arranged in any convenient array such as arectangle, but they may also be arranged in an irregular but compactfigure to fit within the constraints of the template. The resultingvisual effect would be of a 33% grey tint There are 495 codes that have4 black and 8 white bits and hence all 256 characters can be encoded andthere would be some redundancy. When trying to retrieve the informationunits a fist check would be that only one of the selected alphabetcharacters is allowable.

In one implementation the original codes are mapped onto the alphabetcodes using a function controlled by the key.

It might be that a higher level of error protection is required. In thiscase the information units could perhaps be 16 bits long and 5 of thesecould be taken to be black, providing 4,368 possible codes. With thisdegree of redundancy it is possible to select codes in such a way thatthe Hamming Distance between any two codes is maximised. This allowscorrections to take place to counteract such distortion as occursthrough stretching of paper or scanning with altered aspect ratios.Although a character may be distorted the scan should still give aresult closer to the required character than to any other member of thealphabet. As each character is detected, the degree of geometricaldistortion can be assessed and used to facilitate detection of the nextcharacter.

An important aspect of Seal Encoding is the dependence of the encodingcharacters on the template and the manner in which the template issubdivided. This is best illustrated by an example. Suppose that amethod of encoding 4 characters is required; the characters might bethought of as binary numbers 00, 01, 10, 11 or maybe as letters a, b, c,d. For each character a recognisable pattern must be placed on thedocument.

Suppose that the printing process produces pixels that are black orwhite and that it is required to produce the appearance of 50% grey.This would mean that if patterns of 6 pixels represented the characters,3 of those pixels would be white and 3 black.

Proceeding as above, one might produce 4 binary strings, one torepresent each of the characters. Thus we might have:‘a’=000111: ‘b’=011001: ‘c’=101010: ‘d’=110100

If on paper a ‘0’ were represented as a white space and a ‘1’ as a blackdot, then each of these characters would be 50% grey in appearance. Thisis part of Seal Encoding's method of achieving an appearance compatiblewith aesthetic requirements.

These codes have also been chosen to have a Hamming distance of 3. Theeffect of this is that if the code for ‘a’ were to be damaged by thefirst 0 becoming a 1 the string 100111 is still closer to therepresentation for ‘a’ than for any other character.

If now the template were to be divided up into 3×2 rectangles the codeswould appear as illustrated in FIG. 5A(a). However, if an alternativesubdivision were to be made as in FIG. 5A(b) then the same codes wouldbe represented by different patterns. The algorithm for subdivisionmust, of course, be known to both the encoder and decoder.

In cases where the quality of the scans is low, Bitmorph Seal Encodingallows the possibility of using characters specifically designed towithstand particular forms of distortion. For example, on some highspeed scanners the scanner software infills small gaps in the data in ahorizontal direction. For this reason, the characters that are used willtend to be made up of lines rather than uncoordinated groups of dots.The characters will, nonetheless, be adapted to fit into the shape ofthe template rather than be of a fixed type. This is illustrated in thefinal stage of FIG. 5B.

In preparation for printing, the data that has been calculated isgenerally converted into a rasterised format. In general, for an image,the printer's associated software screens the data, that is to say it isconverted into sets of dots which are themselves built up of thesmallest printable dot that the hardware can apply. However, it ispossible to prepare the data in ‘bitmapped’ form in exactly the way inwhich it is to be printed, bypassing the screening process. In someimplementations this method is used to achieve the required quality ofseal encoding.

In another implementation the data is processed in the same way thattext is processed, i.e. by having prepared fonts which are downloaded tothe printer. In the case of a Bitmorph seal, these fonts are speciallyprepared to achieve the required geometrical effect The fonts are notletters but are groups of pixels carefully arranged so that by combiningthem any geometrical effect can be produced. Passing the data in theform of fonts enables the Seal Encoding to combine with the workflow ina particularly simple manner.

FIG. 5B illustrates one implementation of the process.

In stage 1, the data to be added is in the form ABC123.

In stage 2, an alphabet has been selected to represent these values.This particular alphabet uses 14 bits per character. Thus ‘A’ isrepresented by 00001011101000 and ‘1’ is represented by 00001101011011.Their Hamming Distance is 6 because they differ in the 6^(th), 7^(th),9^(th), 10^(th), 13^(th) and 14^(th) bit positions. This means that evenif the string for ‘A’ were to be retrieved with two errors it wouldstill be distinguishable from the string for ‘1’ which would have atleast 4 errors.

In stage 3, the bit strings are concatenated. A permutation is thenapplied to the bits, the permutation being one of the parameters thatcan be varied for each application but must be known both to the encoderand decoder.

In stage 4, the binary string is exclusive OR'd with a random array, sothat the 1's and 0's are distributed in an equable fashion. Again therandom array is a parameter that has to be known to both encoder anddecoder.

In stage 5, the template is subdivided into areas of sufficientmagnitude for the embedding of shapes that are distinguishable by theavailable scanners. The areas do not have to be of precisely equal sizenor need they be of the same shape (Bitmorphs can have variable size andshape—they are not a fixed character set, but take their size and shapefrom the cell size and shape, and that is automatically calculated independence on the size and shape of the entire seal or significantfeatures within it). However, the algorithm that governs the subdivisionmust be common to both encoder and decoder. Each of the subdivisions isallocated a ‘1’ or ‘0’ according to the binary string that was producedin stage 4.

In stage 6, the bit values are replaced by Bitmorphs, i.e. arrangementsof pixels. The value ‘1’ in this case is roughly represented by a cross.The crosses need not be the same shape or size. All that is necessary isthat some shapes are recognisable as representing 1's and some asrepresenting 0's. The choice of Bitmorphs shape reflects thecharacteristics of the printing and scanning process. There would be nopoint, for instance, in representing bits by very fine structures if thescanners simply merged all the pixels together. On the other hand, ifthe document in question were to be a high value document that will bescanned on a high resolution scanner then the chosen patterns could becomplex and fine structured and could give an appearance commensuratewith high aesthetic requirements.

Reading of Seal

The seal is read by scanning in the document and more or less reversingthe processes described. However, errors of type (i) and (ii) in thesection above titled ‘Error Correction’ need to be addressed before thedecryption processes.

The orientation problem can be overcome by correlating line by line thescanned data and the original template. This provides a very fineadjustment, augmenting the information obtained by knowledge of thecoordinates of the original inserted seal.

Where groups of pixels of a selected alphabet are used to represent bitsor strings, small adjustments to location and orientation can beeffected by requiring that each character read is indeed a member of thedefined alphabet. Thus a character is assumed to have a calculatedposition with respect to the template but on account of distortion ofpaper or inaccuracy of location of the scanner the character may beslightly higher or lower than is originally supposed. Given that anycharacter has to be one of a fixed alphabet the scanned data can beraised or lowered until the observed pattern of pixels coincides with alegal character. This displacement is then used to predict themis-location of subsequent characters.

In addition, the fact that the data has been repeated permits the use ofcorrelation between different parts of the seal to compensate for otherdistortions.

In the implementation where a group of pixels represents a bit (orstring of bits) of information, the next stage of the detection processis to identify which member of the selected alphabet corresponds mostclosely to the group of pixels from the scan. This is typically carriedout by the use of a simple correlation calculation. Thus for each groupof pixels there will be a value attributed which expresses theprobability of that group representing a ‘1’ or a ‘0’. A similarsituation occurs when a single pixel represents a bit

The next stage of the decoding is to reverse the permutation that haddistributed the error corrected binary data over the document.

The decoding of the error corrected data requires finding the code withthe minimum Hamming distance, using probabilities based on the values inthe scanned data. Thus where a single pixel represents a bit on someoccasions error correction may indicate that a dark grey pixel shouldcorrespond to a ‘0’ rather than a ‘1’. The total amount of adjustment incarrying out a decode is assessed and gives an indication of how muchdegradation the image has undergone through processing. This in turngives an indication of the likelihood that the document has been copiedor otherwise deliberately corrupted.

The calibration data for the scanners and printers can be used tocorrect dot gain errors that might have occurred.

The decoding software must have knowledge of the seal template and ofany keys that have been used in the encryption.

Security

In most implementations the seal is used as a security device.

At the system level, the security lies in the fact that the sealcontains information which is present in a different form elsewhere onthe document and the document is authenticated by comparing the twoforms of the information. Thus, on a cheque, payee names might bemachine read by using OCR software, and this information might becompared with the payee name stored in coded form in the seal.Alternatively an account number might be read from the MICR line andsimilarly compared. The self consistency of this information givesconfirmation of its integrity. As mentioned above predictable errors inOCR deciphering may be taken into account by the seal decoding.

The security of the seal itself may be protected either by encryption orby control of the encoding parameters.

In one implementation, the data to be encoded is encrypted either whollyor in part prior to the encoding process. This can be done using a PKIsystem so that the agencies who decode the data have no access to theprivate key required to write the data. In one implementation the publickey is printed on the document so that decryption can take place withoutreference to any remote database.

In one implementation, the encryption is carried out using ellipticcurve cryptography. This allows the usage of a smaller key allowing morespace for other information.

Where there is no encryption, the security consists in controllingaccess to the permutation carried out as part of the error correction.This has the advantage that errors in single characters do not damageinformation in other characters, whereas if characters are concatenatedfor encryption purposes the loss of one small part of the data resultsin the loss of the whole data string.

In alternative embodiments, the template, error correction method,permutation and random array for data condition are all utilized in theencoding and decoding of the seal. Typically the encoding software willbe used in a location which is secure and where the parameterscorresponding to a particular application are available to download tothe software. The decoding software will tend to be available at lesssecure sites. The risk to security is that the decoding software will bereverse engineered to produce an encoder. This requires a high degree ofengineering skill. However, to raise the level of security lessinformation has to be released to remote sites.

In one implementation the remote sites have the means to decode data asfar as the permutation, that is to say they can undo stages 6, 5 and 4in FIG. 5B. The binary string is then transmitted over a secure networkto an authenticating server which returns the string with thepermutation undone so that the remainder of the decoding can beaccomplished.

Where there is a group of banks or a set of accounts attached to onebank, it will be necessary to store the encoding parameters for eachaccount. These parameters will be indexed according to a bankidentifier, typically the Bank's routing number. In order that the banksmay vary the parameters they will also be indexed according to the date.

Bitmorph Seal Encoding for Bank Cheques

Overview

Bitmorph Seal Encoding can be applied to encode information into chequesas they are being printed with payee and amount information. This finalsection explains this particular use of the invention in more depth.

Bitmorph Seal Encoding can provide security at two levels, the lowerlevel depending upon the seal encoding parameters and the higher leveldepending on a form of encryption. Where reconciliation takes place atthe issuing Bank the encryption parameters will be available allowingvalidation to take place automatically as a batch process. Wherevalidation is required at Cash Shops or other remote agencies the higherlevel of security can be accessed but only by on line contact with theIssuing Bank or a Certification Authority.

Implementation

The parameters for encoding, including a database of identifiers forparticular Banks, or Corporate accounts administered by those Banks, areheld either at the Bank itself or by a Certification Agency.

The processes for writing and reading Bitmorph Seals are as describedbelow.

Writing (FIG. 6)

-   1. The Issuing Bank's MICR routing number, and possibly an account    number, are used to index the template, the random number generator    (RNG) and the CodeBook.-   2. A generic permutation agreed between banks is used along with the    above parameters, to encode the date and routing number in the seal.-   3. A second permutation is generated as a function of the date,    routing number and a random number which acts as an identifier (ID)    for each Bank or corporate client of the bank. These three entities    are hashed and the value so calculated is used in a fixed algorithm    to generate a permutation unique to the account-   4. Using the new permutation the rest of the data, i.e the payee,    value and account details is encoded into the seal.    Reading (At Issuing Bank) (FIG. 7)-   1. The Bank's routing number and possibly an account number is read    from the MICR data and used to obtain the template, the random    number generator (RNG) and the codebook.-   2. Using the above parameters the date is read from the seal.-   3. The routing number and date, together with the Issuing Bank's ID,    are used to generate the unique permutation.-   4. The remainder of the data is decoded with the aid of the unique    permutation.    Reading (At Cash Shop or other Remote Agency) (FIG. 8)-   1. The Issuing Bank's routing number, and possibly an account    number, is read from the MICR data and used to obtain the template,    the random number generator (RNG) and the codebook.-   2. Using the above parameters the date is read from the seal.-   3. The template and RNG are used to begin the decoding of the    remaining data to the point between stages 3 and 4 (see    diagram—‘Processes of Seal Encoding’ FIG. 9) where the reverse of    the permutation needs to be applied.-   4. The binary string thus obtained is sent to the Issuing Bank along    with the routing number and the date. The Issuing Bank returns the    string with inverse of the unique permutation applied.-   5. The remainder of the data is decoded by reversing the encoding    process.    Authentication

The data may be authenticated by comparing the corresponding fields asdecoded from the Seal, the MICR data and the readable text data.

Detail of Encoding Process

FIG. 9 gives a diagrammatic view of the encoding process.

The Seal Encoding is governed by a template and 3 parameters:

-   -   (i) The codebook for error correction    -   (ii) A permutation for distributing the encoded signal    -   (iii) A random sequence for conditioning the signal to be        printed.

Two permutations are required. The first is a fixed permutation which isavailable for all users and is used to encode the date and Bank routingnumber.

The second is a permutation which is unique to a Bank or an Account atthat Bank. This permutation is used to distribute the remainder of thedata. This second permutation is produced via a hashing process whichdepends upon the date, the Bank's routing number and an Identifierassociated with the account in question, although if the Identifier isindexed through the date and routing number there could be someredundancy here. Any reputable hashing algorithm may be used todistribute the hashed values uniformly through the available hashingspace. The crucial point is that nobody could take sets of publishedcheques and reverse engineer a permutation. There is a potential riskthat past values of Banks' Identifiers will be obtainable so thatcheques could be produced that are a few days out of date. It may bethat there will be a strict cut off for the time allowed forpresentation of cheques.

The main reasons for embodying the security in the permutations aretwofold.

First, the payload for seals is limited by aesthetic considerations andthe use of permutations maximises the compactness. The payload is alsolimited by memory considerations; cheques are preprocessed for theprinting process so that records contain the images to be added and thelarge number of cheques imposes a practical limit on the size of theimages. An alternative would be to process images at the time ofprinting but this would tend to slow down operations.

Secondly, the seal data is used in conjunction with other forms of data,MICR data and text data, and extracting data from damaged cheques can beconsiderably enhanced by intelligent combination of these sources. Thepermutations allow processing of damaged data in a way which is notpossible with standard encryption. Note that the contact with the Bankrequired by Cash shops is completely separate from any accountinformation and hence should be less problematic for access purposes.

1. A document printed with printed matter comprising (a) graphicalsymbols which encode information but are not human readable and (b) avisible element, wherein the graphical symbols are formed into some orall of the visible element and an outline of the element is used forsynchronizing an automated process for scanning the document to extractthe encoded information from the visible element.
 2. The document ofclaim 1 in which the visible element is a logo, word, number orsignature.
 3. The document of claim 1 in which some or all of thegraphical symbols are superimposed on a decorative background printed onthe document.
 4. The document of claim 1 in which the graphical symbolsare printable using a printer used to create the document.
 5. Thedocument of claim 1 in which at least one of the graphical symbols is afont which is downloadable to a printer used to create the document. 6.The document of claim 1 in which a density of encoded information issuch that if the document is copied using a standard scanner and thenprinted using a standard ink jet/laser printer, the visible element willnot be readable on account of global degradation.
 7. The document ofclaim 1 in which a density of encoded information is such that if thedocument suffers local intense degradation, an error correction schemeenables the visible element to be read.
 8. The document of claim 1 inwhich a permutation algorithm is used to distribute the graphicalsymbols within the visible element in a complex manner.
 9. The documentof claim 8 which is scanned at a given physical location and an inversepermutation applied at a different and more secure remote location. 10.The document of claim 8 in which the decoding is assisted by informationderived from OCR (optical character recognition) or reading of MICR(magnetic ink character recognition) information printed on the documentbecause the permutation method allows a recovery of individualcharacters even where some are corrupted by processing.
 11. The documentof claim 1 in which the visible element occupies less than 20% of theentire surface of the document.
 12. The document of claim 1 in which atleast some of the information encoded into the visible element is alsopresent in printed, human readable form on the document.
 13. Thedocument of claim 12 in which part of the information present inprinted, human readable form on the document is encrypted and used togenerate a permutation for the remaining information to be placed intothe visible element.
 14. The document of claim 13 where the encryptionis part of a PKI (public key infrastructure) scheme.
 15. The document ofclaim 13 where the encryption is an elliptic curve cryptosystem.
 16. Thedocument of claim 1 in which the information is encoded at a maximumdensity permissible.
 17. The document of claim 16 in which a maximumdensity is determined by a calibration program.
 18. The document ofclaim 1 in which the information is encoded into the visible elementusing error correction.
 19. The document of claim 18 in which the errorcorrection is non linear.
 20. The document of claim 18 in which theerror correction depends on a probability metric based on scan data. 21.The document of claim 18 in which the error correction allows, duringdecoding, a calculation of a probability that the document has beenfraudulently reproduced.
 22. The document of claim 1, the integrity ofwhich needs to be capable of verification.
 23. The document of claim 22in which the document is a check and the information includes one ormore of the following kinds of information: (a) name of the payee; (b)value of the check; (c) date of the check; (d) an account number.
 24. Amethod of printing a document with printed matter comprising (a)graphical symbols which encode information but are not human readableand (b) a visible element, the method comprising the step of (i)computer generating the graphical symbols; (ii) forming the graphicalsymbols into the visible element, so that an outline of the visibleelement is used for synchronizing an automated process for scanning thedocument to extract the encoded information from the visible element andthen (iii) printing the graphical symbols onto the document.
 25. Amethod of retrieving information from a document printed with printedmatter, the printed matter comprising (a) graphical symbols which encodeinformation but are not human readable and (b) a visible element, inwhich the graphical symbols are formed into some or all of the visibleelement such that an outline of the visible element is used forsynchronizing an automated process for scanning the document to extractthe encoded information from the visible element; the method comprisingthe steps of (i) scanning the visible element, (ii) using the outline toachieve synchronization , and then (iii) retrieving the information bydecoding the graphical symbols which make up some or all of the element.26. The method of claim 25 further comprising the step of comparinginformation decoded from the visible element to human readableinformation printed on the document.
 27. The method of claim 25 furthercomprising the step of comparing information decoded from the visibleelement to information which is indexed by human readable information onthe document.
 28. The method of claim 25 further comprising the step ofcomparing information which is indexed by the decoded informationextracted from the visible element to human readable information printedon the document.
 29. A computer software able to control a printer toprint a document with printed matter, the printed matter comprising (a)graphical symbols which encode information but are not human readableand (b) a visible element; in which the software is able to (i) generatethe graphical symbols; (ii) form the graphical symbols into the visibleelement, so that an outline of the visible element is used forsynchronizing an automated process for scanning the document to extractthe encoded information from the visible element and then (iii) causethe printer to print the graphical symbols onto the document.
 30. Acomputer software able to control a decoding system to retrieveinformation from a document printed with printed matter, the printedmatter comprising (a) graphical symbols which encode information but arenot human readable and (b) a visible element, in which the graphicalsymbols are formed into some or all of the visible element such that anoutline of the visible element is used for synchronizing an automatedprocess for scanning the document to extract the encoded informationfrom the visible element; wherein the software can control the decodingsystem (i) to scan the visible element to generate scan data, (ii) toprocess the scan data by determining an outline of the visible elementto achieve synchronization, and then (iii) to retrieve the informationby decoding the graphical symbols which make up some or all of thevisible element.